package rpg.animation
{
	import flash.filters.BitmapFilter;

	/**
	 * 动画每帧描述符，xml <animation>节点对应物
	 * @author hyy
	 *
	 */
	public class AnimationDescription
	{
		/**
		 * 动画的id
		 */
		public var id : String;

		/**
		 * 该动画需要的资源id
		 */
		public var resoureceId : String;

		/**
		 * 动画帧的持续时间序列
		 */
		public var durations : Array = [];

		/**
		 * 动画帧的名称序列
		 */
		public var frameNames : Array = [];

		/**
		 * 动画帧的x偏移序列，此偏移为中心点相对最小包围框左上角的偏移
		 */
		public var offsetXs : Array = [];

		/**
		 * 动画帧的y偏移序列，此偏移为中心点相对最小包围框左上角的偏移
		 */
		public var offsetYs : Array = [];

		public var centerX : int;
		public var centerY : int;

		/**
		 * 混合模式  
		 */		
		public var blendMode : String;
		
		/**
		 * 附带的滤镜 
		 */		
		public var filter : BitmapFilter;

		public function AnimationDescription(animationXML : XML)
		{

			id = animationXML.@id;
			resoureceId = animationXML.@resourceId;
			centerX = int(animationXML.@centerX);
			centerY = int(animationXML.@centerY);
			durations = String(animationXML.@durations).split(',');

			var frames : Array = String(animationXML.@frames).split(';');
			for each (var frame : String in frames)
			{
				var frameProps : Array = frame.split(',');
				frameNames.push(frameProps[0]);
				offsetXs.push(frameProps[1]);
				offsetYs.push(frameProps[2]);
			}
		}

	}
}